/**
 * @file   : demo.c
 * @author : chenshucheng
 * @date   : 03/24/2021
 * @brief  : 测试demo
 * @note   : 创建文件
 */

#include "init.h"
#include "demo.h"

/**
 * @brief   套件初始化函数，用来初始化测试环境
 * @param:  [in]   无
 * @return  [out]  无
 * @warning 可重入
 * @note    新生成函数
 */
S32 fwtDemoTstInit(void)
{
    return 0;
}

/**
 * @brief   套件析构函数，用来清理测试环境
 * @param:  [in]   无
 * @return  [out]  无
 * @warning 可重入
 * @note    新生成函数
 */
S32 fwtDemoTstClean(void)
{   
    return 0;
}

///<  假设我们要测试的函数是a函数
S32 a(S32 a1, S8 a2) 
{
    S32 rc = 0;
    
    if (a1 < a2) {
        rc = -1;
    }
    return rc;
}

/**
 * @brief   测试case Demo
 * @param:  [in]   无
 * @return  [out]  无
 * @warning 可重入
 * @note    新生成函数
 */
void fwtDemoTest()
{
    S32 rc = 0;
    S8 c = 'c';
    
    rc = a(0, c);
    CU_ASSERT(rc == -1);

    return ;

}

CU_TestInfo gFwtDemoTstCases[] = {
    {
        "FwtDemoTst", fwtDemoTest,
    },
    CU_TEST_INFO_NULL,
};

CU_SuiteInfo gFwtDemoSuites[] = {
    {
        "DemoSuite",fwtDemoTstInit,fwtDemoTstClean,gFwtDemoTstCases
    },
    CU_SUITE_INFO_NULL,
};

/**
 * @brief   将测试套件注册到gUtSuites数组中，注意该数组的最后一个元素必须为空
 * @param:  [in]   无
 * @return  [out]  无
 * @warning 可重入
 * @note    新生成函数
 */
static void utFwtDemoSuite(void)
{
    fwtInitSuite(gFwtDemoSuites);
    
    return ;
}

UITEINIT(utFwtDemoSuite)

